package com.yuyue.springFramework.note10.entity;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.support.ReloadableResourceBundleMessageSource;

/**
 * 定时刷新缓存
 */
@Configuration
public class MyConfigReloadable {
    @Bean
    public ReloadableResourceBundleMessageSource messageSource(){
        //用 ReloadableResourceBundleMessageSource 监控国际化文件的变化,
        ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
        //使用“classpath:”前缀，仍然可以从类路径加载资源，但在这种情况下，“-1”（永久缓存）以外的“cacheSeconds”值可能无法可靠地工作。
        //请注意，您的 ClassLoader，到期可能无法可靠地工作，因为 ClassLoader 可能会保留捆绑文件的缓存版本。这种情况下更喜欢与非类路径位置结合使用。
        messageSource.setBasenames("i18n/message");

        //设置缓存时间，毫秒。 -1：表示永远缓存/0：每次获取国际化信息的时候，都会重新读取国际化文件/大于1为具体时间
        messageSource.setCacheMillis(2);
        //设置缓存时间，秒。
//        messageSource.setCacheSeconds(1);
        return messageSource;
    }
}
